package com.bestcem.xm.award.mq.receiver.biz;

import com.bestcem.xm.award.mq.dto.*;
import org.springframework.messaging.support.GenericMessage;

import java.util.function.Consumer;

/**
 * @author leilei.zang
 */
public interface AwardConsumers {


    /**
     * 延迟消息:开始抽奖奖励消息
     */
    Consumer<GenericMessage<DrawAwardStartDTO>> awardDrawStart();

    /**
     * 延迟消息:奖励通知抽奖结束
     */
    Consumer<GenericMessage<DrawAwardStopDTO>> awardDrawStop();

    /**
     * 延迟消息:奖励异步消费清理临时表通知消息
     */
    Consumer<GenericMessage<TempCleanDTO>> awardTempClean();

    /**
     * 延迟消息:奖励消费红包开始消息
     */
    Consumer<GenericMessage<RedPacketAwardStartDTO>> awardRedPacketStart();

    /**
     * 延迟消息:奖励消费红包结束消息
     */
    Consumer<GenericMessage<RedPacketAwardStopDTO>> awardRedPacketStop();

    /**
     * 延迟消息:奖励消费查询红包发放结果消息
     */
    Consumer<GenericMessage<RedPacketAwardSendingDTO>> awardRedPacketSending();

    /**
     * 延迟消息:奖励消费奖励开始消息
     */
    Consumer<GenericMessage<AwardStartDTO>> awardAwardStart();


    /**
     * 延迟消息:奖励消费奖励结束消息
     */
    Consumer<GenericMessage<AwardStopDTO>> awardAwardStop();

    /**
     * 奖励消费项目删除消息
     */
    Consumer<GenericMessage<ProjectDeleteDTO>> awardProjectDelete();

    /**
     * 奖励消费中奖短信通知消息
     */
    Consumer<GenericMessage<DrawAwardSendSmsDTO>> awardDrawSms();

}
